home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Basic Controls
/
Visual Basic Controls.iso
/
vbcontrol
/
polardrw
/
data.z
/
FormClock.frm
< prev
next >
Wrap
Text File
|
1999-05-17
|
6KB
|
230 lines
VERSION 5.00
Object = "{78BA52DF-D227-11D2-B9D2-008048FD54E6}#1.0#0"; "POLARD~1.OCX"
Begin VB.Form FormClock
BorderStyle = 3 'Fixed Dialog
Caption = "Clock"
ClientHeight = 3240
ClientLeft = 45
ClientTop = 330
ClientWidth = 4845
LinkTopic = "Form1"
MaxButton = 0 'False
MinButton = 0 'False
ScaleHeight = 3240
ScaleWidth = 4845
ShowInTaskbar = 0 'False
StartUpPosition = 3 'Windows Default
Begin POLARDRAWLib.POLARDraw POLARDraw
Height = 3015
Left = 120
TabIndex = 0
Top = 120
Width = 3255
_Version = 65536
_ExtentX = 5741
_ExtentY = 5318
_StockProps = 160
Appearance = 1
EditMode = 4
DrawPaper = 0 'False
PageOriginY = 19955
HorizontalGrid = 567
VerticalGrid = 567
ShowVerticalScrollBar= 0 'False
ShowHorizontalScrollBar= 0 'False
ShowVerticalRuler= 0 'False
ShowHorizontalRuler= 0 'False
MeasurementUnits= 8
RecordUndo = 0 'False
AllowSelect = 0 'False
AllowRotate = 0 'False
AllowDelete = 0 'False
AllowResize = 0 'False
AllowMove = 0 'False
AllowEditPoints = 0 'False
End
Begin VB.Timer Timer
Interval = 1000
Left = 3720
Top = 1320
End
Begin VB.CheckBox CheckTicking
Caption = "Ticking"
Height = 375
Left = 3600
TabIndex = 3
Top = 2760
Width = 1095
End
Begin VB.CheckBox CheckBorder
Caption = "Border"
Height = 255
Left = 3600
TabIndex = 2
Top = 2520
Value = 1 'Checked
Width = 1095
End
Begin VB.CommandButton Close
Caption = "Close"
Height = 375
Left = 3600
TabIndex = 1
Top = 120
Width = 1095
End
End
Attribute VB_Name = "FormClock"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Type POINT
x As Long
y As Long
End Type
Dim m_lHHID As Long
Dim m_lMMID As Long
Dim m_lSSID As Long
Dim m_fTicking As Boolean
Dim m_fBorder As Boolean
Dim ptCenter As POINT
Private Sub Form_Load()
Dim lX As Long
Dim lY As Long
Dim IID As Long
Dim l As Long
Dim lRad As Long
m_fTicking = False
m_fBorder = True
l = 0
lRad = 90
ptCenter.x = 0
ptCenter.y = 0
POLARDraw.EditMode = polRotate
While (l < 12)
Dim lAngle As Double
lAngle = l * 30 / (360 / (2 * 3.1416))
lX = ptCenter.x - Sin(lAngle) * lRad
lY = ptCenter.y - Cos(lAngle) * lRad
If (l * 30) Mod 90 = 0 Then
lID = POLARDraw.AddShape(5, lX - 10, lY - 10, lX + 10, lY + 10)
Else
lID = POLARDraw.AddShape(5, lX - 8, lY - 8, lX + 8, lY + 8)
End If
POLARDraw.SetShapeRotation lID, l * 30
POLARDraw.SetShapeFillColor lID, RGB(0, 0, 255)
l = l + 1
Wend
lX = ptCenter.x
lY = ptCenter.y
Rem ID of hour handle
m_lHHID = POLARDraw.AddShape(66, lX - 40, lY - 30, lX + 40, lY + 30)
POLARDraw.SetShapeRotation m_lHHID, -90
POLARDraw.MoveShape m_lHHID, 0, -30
Rem ID of minute handle
m_lMMID = POLARDraw.AddShape(5, lX - 10, lY - 100, lX + 10, lY + 10)
POLARDraw.SetShapeFillColor m_lMMID, RGB(255, 0, 0)
Rem ID of seconds handle
m_lSSID = POLARDraw.AddShape(1, lX - 2, lY - 95, lX + 2, lY + 10)
POLARDraw.SetShapeFillColor m_lSSID, RGB(0, 0, 255)
POLARDraw.SelectAll
POLARDraw.FitToSelection
POLARDraw.ClearSelection
End Sub
Private Sub Timer_Timer()
Dim lHH As Long
Dim lMM As Long
Dim lSS As Long
Dim lX As Long
Dim lY As Long
Dim crVal As Long
' get current time
lHH = Hour(Time)
lMM = Minute(Time)
lSS = Second(Time)
' disable redrawing while we moving objects
POLARDraw.EnableRendering = False
lX = ptCenter.x
lY = ptCenter.y
' set shapes to initial position
POLARDraw.SetShapePos m_lHHID, lX - 40, lY - 30, lX + 40, lY + 30
POLARDraw.SetShapeRotation m_lHHID, -90
POLARDraw.MoveShape m_lHHID, 0, -30
POLARDraw.SetShapePos m_lMMID, lX - 10, lY - 100, lX + 10, lY + 10
POLARDraw.SetShapeRotation m_lMMID, 0
POLARDraw.SetShapeFillColor m_lMMID, RGB(255, 0, 0)
POLARDraw.SetShapePos m_lSSID, lX - 2, lY - 95, lX + 2, lY + 10
POLARDraw.SetShapeRotation m_lSSID, 0
' rotate them around center according to the current time
POLARDraw.RotateShapeAroundPoint m_lHHID, ptCenter.x, ptCenter.y, -(lHH + lMM / 60) * 30
POLARDraw.RotateShapeAroundPoint m_lMMID, ptCenter.x, ptCenter.y, -lMM * 6
POLARDraw.RotateShapeAroundPoint m_lSSID, ptCenter.x, ptCenter.y, -lSS * 6
crVal = 255 * ((lSS Mod 60) / 60#)
POLARDraw.EnableRendering = True
POLARDraw.SetShapeFillColor m_lHHID, RGB(crVal, 255, 0)
If m_fTicking Then
Beep
End If
End Sub
Private Sub CheckBorder_Click()
If CheckBorder.Value = Checked Then
m_fBorder = True
Else
m_fBorder = False
End If
If m_fBorder Then
POLARDraw.Appearance = cc3D
POLARDraw.BorderStyle = 1
Else
POLARDraw.Appearance = ccFlat
POLARDraw.BorderStyle = 0
End If
' stretch the canvas to fit the window
POLARDraw.EnableRendering = False
POLARDraw.SelectAll
POLARDraw.FitToSelection
POLARDraw.EnableRendering = True
' this call will re-render canvas
POLARDraw.ClearSelection
End Sub
Private Sub CheckTicking_Click()
If CheckTicking.Value = Checked Then
m_fTicking = True
Else
m_fTicking = False
End If
End Sub
Private Sub Close_Click()
End
End Sub